home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Prog / M / MacOberon241.cpt / MacOberon 2.4(1) / MacTypes.Mod (.txt) < prev    next >
Oberon Text  |  1991-10-17  |  2KB  |  43 lines

  1. Syntax10.Scn.Fnt
  2. MODULE MacTypes;    (*Macintosh OS Interface Module for MacOberon 2.2, Michael Franz, 9.10.91*)
  3.     IMPORT
  4.         SYSTEM;
  5.     TYPE
  6.         PackedChar*= CHAR;    (* Character Type as Element of PACKED ARRAY *)
  7.         UnpackedChar*= INTEGER;    (* Macintosh Character Type *)
  8.         SignedByte*= SHORTINT;    (* Any byte in memory *)
  9.         PackedByte*= SYSTEM.BYTE;    (* Byte as Element of PACKED ARRAY *)
  10.         UnpackedByte*=INTEGER;    (* Macintosh Byte Type is a subrange [0..255] of INTEGER *)
  11.         Fixed*= LONGINT;    (* Fixed point arithmetic type *)
  12.         OSErr*= INTEGER;    (* Error code *)
  13.         OSType*= LONGINT;    (* File Type *)
  14.         ResType*= LONGINT;    (* Resource Type *)
  15.         Data*= RECORD END;    (* Base Type of Anything *)
  16.         Ptr*= POINTER- TO Data;    (* Untagged blind pointer *)
  17.         Handle*= POINTER- TO RECORD p*: Ptr END;    (* Untagged pointer to a master pointer *)
  18.         ProcPtr*= POINTER- TO RECORD proc: PROCEDURE END;    (* Pointer to executable code *)
  19.         ProcHandle*= POINTER- TO RECORD p*: ProcPtr END;
  20.         Point*= RECORD v*, h*: INTEGER END;
  21.         Rect*= RECORD top*, left*, bottom*, right*: INTEGER END;
  22.         Str15* = ARRAY 16 OF PackedChar;
  23.         Str63* = ARRAY 64 OF PackedChar;
  24.         Str255*= ARRAY 256 OF PackedChar;
  25.         StringPtr*= POINTER- TO Str255;
  26.         StringHandle*= POINTER- TO RECORD p*: StringPtr END;
  27.     PROCEDURE - Debugger*() 0A9H, 0FFH;
  28.     PROCEDURE - DebugStr*(aStr: Str255) 0ABH, 0FFH;
  29.     PROCEDURE SetStr255*(VAR theStr255: Str255; chars: ARRAY OF CHAR);
  30.         VAR i: INTEGER; ch: CHAR;
  31.     BEGIN    i:=0;
  32.         REPEAT    ch:=chars[i]; INC(i); theStr255[i]:=ch    UNTIL    (ch = 0X) OR (i=256);
  33.         theStr255[0]:=CHR(i-1)
  34.     END SetStr255;
  35.     PROCEDURE GetStr255*(VAR theStr255: Str255; VAR chars: ARRAY OF CHAR);
  36.         VAR n: INTEGER; ch: CHAR;
  37.     BEGIN    n:=ORD(theStr255[0]);
  38.         IF    LEN(chars) < n    THEN    n:=SHORT(LEN(chars))    END;
  39.         chars[n]:=0X;
  40.         WHILE    n > 0    DO    ch:=theStr255[n]; DEC(n); chars[n]:=ch    END
  41.     END GetStr255;
  42. END MacTypes.
  43.